Mesure de formes planes complexes par un procédé de vision numérique.
*Laboratoire de diagnostic par imagerie des procédés industriels, EA 37 19 -
Ecole Nationale d'Ingénieurs de Saint Etienne,
58 rue Jean Parot 42023 Saint Etienne cedex 2
**Laboratoire de tribologie et dynamique des systèmes, UMR CNRS 5513 -
Ecole Nationale d'Ingénieurs de Saint Etienne,
58 rue Jean Parot 42023 Saint Etienne cedex 2 -
Ecole Centrale de Lyon,
36 avenue Guy de Collonge 69131 Ecully cedex
Mots clefs : DIPI, ENISE, Mesure, Calibration, Vision numérique, Métrologie
Abstract :
Measuring complex plane forms is a frequent problem in industry, in particular for the manufacturers of matrices of cuttings and for the users. To measure such parts, there are currently only two methods : the manual shape projector and the measuring machine with or without contact. Taking into account the limits of these processes, we thus imagined a direct system of measurement per digital image which would be able to appreciate the shape as a whole, to select some characteristic points and automatically to compare them with a theoretical shape.
Résumé :
Mesurer des formes planes complexes est un problème fréquent dans l'industrie, en particulier pour les fabricants de matrices de découpes et pour les utilisateurs. Pour mesurer de telles pièces, il n'existe actuellement que deux techniques : le projecteur de profils manuel et la machine à mesurer avec ou sans contact. Compte tenu des limites de ces procédés, nous avons donc imaginé un système de mesure direct par image numérique qui serait capable d'apprécier le profil dans sa globalité, d'en sélectionner certains points caractéristiques et de les comparer automatiquement avec un profil théorique.
Introduction
Actuellement, en métrologie, il n'existe que 2 procédés pour mesurer des pièces planes complexes:
-
Les machines à mesurer avec ou sans contact.
-
Les projecteurs de profils.
Les machines avec contact utilisent un palpeur dirigé par un mécanisme précis pour le positionner en translation et en rotation. Les machines sans contact utilisent une caméra ou un capteur LASER en remplacement du palpeur pour récupérer les points mais le mécanisme de positionnement et de mesure est toujours le même.
Les projecteurs de profils permettent de projeter le contour agrandi d'une pièce sur un écran, de le faire coïncider manuellement avec un profil théorique et d'en observer les écarts.
Les machines à mesurer donnent des mesures plus précises mais sont relativement lentes et il n'est pas toujours possible de les mettre en œuvre. Le projecteur de profil permet d'aller plus vite mais il nécessite un positionnement manuel et un opérateur qualifié.
Le but de ce travail est d'essayer de mettre au point un système de mesure direct par vision numérique sans aucun mécanisme de positionnement qui permettrait, comme le projecteur de profil de comparer un contour de pièce à un contour théorique de façon fiable et entièrement automatisée.
L'étude de ce système de mesure nécessite plusieurs étapes:
- La calibration :
-
Consiste à connaître le système de vision et ses défauts et d'en déduire les corrections à apporter aux futures acquisitions.
- L'acquisition :
-
La prise d'image en elle-même.
- Le traitement d'image :
-
L'image est traitée par différents algorithmes. Le but est de rendre pertinente l'information contenue dans le signal obtenu.
- L'analyse d'image :
-
Les informations sont extraites de l'image et analysées. Le but est de permettre la superposition des profils.
Calibration
Les paramètres qui régissent un système de vision sont de deux types [1] et [2] :
- Intrinsèques :
-
Ces paramètres dépendent du système utilisé (la caméra et l'objectif) et ne peuvent être modifiés à moins de changer de système de vision. Les paramètres les plus courants sont: La distance focale f, La résolution du capteur, les coefficients de distorsions angulaires et radiaux ...
- Extrinsèques :
-
Ces paramètres ne dépendent pas du système de vision et peuvent être modifiés facilement. Ils décrivent le positionnement du système dans la scène réelle: angles et positions de la caméra.
Correction des distorsions
Il est nécessaire dans un premier temps de déterminer certains paramètres intrinsèques du capteur afin de corriger certains défauts et certaines distorsions (Voir figure 1) :
Pour cela, nous avons utilisé une mire de référence à carrés noirs et blancs. Nous avons pris plusieurs images de cette mire dans différentes positions afin de mieux déterminer les distorsions engendrées par l'objectif. À l'aide d'outils mathématiques et de boites à outils spécialisées dans la calibration de caméras [3], on peut alors corriger ces défauts pour avoir une image non déformée lors de l'acquisition.
Étalonnage
Selon le système de vision utilisé (caméra, objectif...), le champ de vision n'est pas le même. Une pièce vue avec un objectif avec une distance focale f=35 n'aura pas la même taille qu'avec une focale de f=50... Il faut donc étalonner le capteur avec un objet dont les dimensions sont connues précisément. Cette étape permet de connaître le facteur d'échelle du système de vision.
Acquisition
L'acquisition est une étape clef dans la vision dont dépend tous le reste du traitement et de l'analyse des images. Elle doit se faire dans les meilleures conditions possibles pour donner la meilleure image possible.
La caméra
La caméra est composée d'un capteur et d'un objectif. Il existe une grande quantité de capteurs avec des tailles et des technologies différentes. Le critère principal de choix d'un capteur est sa résolution en pixels qui peut désormais atteindre 20 millions de pixels. La géométrie de la grille a aussi son importance car il existe des capteurs dont les éléments sensibles ne sont pas carrés et qui aurait pour conséquence de donner une résolution différente dans les deux directions. Le capteur que nous avons utilisé actuellement est un capteur CCD monochrome 8 bits à éléments carrés avec une résolution de 768*576 pixels entrelacés (Standard PAL).
Ce capteur ne permet pas d'avoir une précision suffisante pour faire de la mesure, néanmoins, il permet de valider certains algorithmes et de mettre en évidence certains problèmes qui seront identiques avec un capteur ayant une meilleure résolution Le choix de l'objectif a aussi son importance. En effet les objectifs n'engendrent pas tous les même distorsions et n'ont pas tous les même propriétés. L'objectif utilisé ici est un objectif télécentrique (Voir figure 2) qui a la particularité de réduire les effets de perspective lors de la prise de vue et d'éliminer certains effets parasites sur les bords de la pièce.
Éclairage de l'objet
L'éclairage de l'objet permet d'apporter à la scène une quantité de lumière avec une orientation précise. L'éclairage retenu est un rétro-éclairage blanc obtenu par une ampoule halogène (Voir figure 3 et figure 4). L'objet à étudier est posé sur une planche de diffusion de lumière alimentée par des fibres optiques.
Distance du capteur
La distance du capteur par rapport à l'objet à mesurer doit être ajustée afin que l'objet "remplisse" au mieux l'image. L'objet doit être vu en entier par la caméra et être suffisamment grand pour obtenir une précision de mesure suffisante. Tout changement de distance du capteur induit un changement des paramètres extrinsèques du système de vision et doit être suivi par un réglage de la netteté et un ré-étalonnage.
Traitement des images
Récupération des contours
Après l'acquisition de l'image, vient la phase de traitement. La première étape du traitement consiste à sélectionner les pixels qui représenteront le contour de la pièce (Voir figure 5). Si le contour réel de la pièce est net (Absence et présence de matière), en revanche, le contour de l'image de la pièce n'est pas aussi distinct [4]:
Il faut donc trouver une méthode qui permette de retrouver un contour "tout ou rien" ( information binaire ) avec des niveaux de gris :
- Seuillage :
-
On procède à un seuillage de l'image, ce qui consiste à transformer l'image en niveaux de gris en image binaire. Le seuillage est effectué en analysant l'histogramme des niveaux de gris (Voir figure 6) par un outil statistique et en choisissant le seuil approprié. Une fois le seuillage effectué, on balaie l'ensemble de l'image et pour chaque pixel on vérifie les 8 pixels voisins. Si un seul de ces pixels est dans un état opposé, alors ce pixel appartient au contour de la pièce.
- Gradient des intensités :
-
Cette méthode s'appuie sur l'étude du gradient des intensités sur l'image en niveaux de gris. Il existe différents filtres qui permettent d'extraire les contours : Prewitt, Sobel... Ces filtres divergent au niveau de l'approximation de la dérivée.
- Méthode de Canny :
-
Cette méthode est basée sur les minima locaux du gradient d'intensités [5]. Elle permet de détecter les contours très marqués et moins marqués (Figure 7). Les contours "faibles" n'étant renvoyés que si ils sont connectés à un contour "fort". La méthode retenue est celle de Canny car elle est moins sensible au "bruit" que les précédentes, elle n'utilise pas le voisinage du point et elle donne des contours fermés.
Récupération des contours
Après avoir sélectionné les pixels du contour, il faut maintenant les récupérer et les intégrer dans une structure de données. Pour rechercher les points qui appartiennent à un contour, on parcourt celui-ci avec le codage de Freeman [6] et [7] (Figure 8). Cette méthode permet de "stocker" l'intégralité du contour sous la forme d'une série de codes qui donnent la position du voisin de chaque point. Le codage varie en fonction de la quantité de voisins que possède chaque point (connexité). Pour retrouver le contour original, il suffit de mémoriser en plus de la séquence de codes, les coordonnées du point de départ.
Détection des points caractéristiques
Une fois les contours récupérés, il faut trouver sur ces contours des points "intéressants" qui permettront de superposer les profils mesurés et théoriques. Pour cela, il faut déterminer des points caractéristiques que l'on puisse reconnaître.
Les points caractéristiques peuvent être définis et cherchés suivant différents critères :
-
Changements de courbures dans le contour.
-
Intervalle de distance pré-déterminé ou calculé.
-
Discontinuités du contour
-
etc.....
La méthode la plus pertinente pour chercher ces points serait d'utiliser les changements de courbures du contour avec éventuellement l'ajout de points supplémentaires à des intervalles de distances définis. On utilise alors un algorithme afin de détecter les points anguleux du profil. Plusieurs solutions ont été mises en œuvre :
-
Le premier algorithme à avoir été testé est celui de Ramer (Voir figure 7) qui consiste à approcher les contours étudiés à celui de polygones [8].
Le problème de cette méthode est qu'elle ne permet pas de garder l'échelle de la pièce ce qui est pourtant essentiel.
-
Un autre algorithme a alors été utilisé. Il consiste à parcourir le contour et à calculer les angles entre les points séparés par une distance d'écartement D [9]. Une fois tous les angles calculés, on calcule alors les variations d'angles entre ces points (Voir figure 8). On peut alors sélectionner des points en fonction de la courbure du contour en procédant par seuillage (On prend tous les points dont la variation d'angle est supérieure à un certain seuil) ou par sélection décroissante (On prend les points jusqu'à en avoir sélectionnés un certain pourcentage).
Cette méthode permet bien de détecter les variations de courbures dans le contour mais elle présente l'inconvénient d'être sensible à la distance D. Si elle est trop grande par rapport aux dimensions du contour, on "saute" certaines zones de courbures et on perd de l'information (voir figure 9). Si elle est trop faible, on prend en compte des points qui n'ont aucun intérêt pour la mesure.
Pour palier à ce problème, il faut faire une étude systématique de chaque contour avec différentes valeurs de la distance D (Voir figure 10). On peut alors identifier les valeurs correctes et ainsi avoir des points caractéristiques adaptés au contour. D'autres méthodes de détection des points caractéristiques seront étudiés durant les mois à venir.
Superposition des contours
Une fois les points caractéristiques détectés, il faut les faire coïncider sur le profil théorique. Actuellement, la méthode est manuelle. On choisit trois points anguleux sur le profil mesuré et on indique à quels points ils correspondent sur le profil théorique. On trouve alors la transformation (rotation et translation) qui permet de passer du profil mesuré au profil théorique. Il est alors possible d'effectuer des mesures de distances entre ces points et de vérifier si le profil mesuré est conforme ou non.
L'objectif est maintenant d'automatiser cette étape de mise en correspondance afin de gagner du temps et de la précision. Une des solutions pour trouver la transformation entre le contour théorique et le contour mesuré serait de calculer les propriétés géométriques du contour :
- Centre de gravité :
-
Permet de trouver la translation.
- Directions principales :
-
Permettent de trouver la rotation.
Il serait alors facile, si la méthode s'avère assez fiable de calculer la distance entre les points caractéristiques du profil mesuré et du profil théorique, et de rendre un verdict sur le profil mesuré.
Conclusion
Ce procédé de mesure pourrait être intéressant pour des pièces planes de petites dimensions devant être analysées rapidement et en grande série. Il a l'avantage de ne pas nécessiter de bridage de la pièce, d'être adaptable à toutes les formes de pièces possibles et de pouvoir mesurer des trous de faibles dimensions à l'intérieur même de la pièce.
Le procédé de vision numérique actuel ne permet pas encore de faire des mesures suffisamment précises pour être exploitées dans l'industrie. Cependant, la précision des mesures est directement liée à la résolution du capteur. Plus le capteur comportera de pixels, plus la mesure sera précise. L'évolution actuelle des capteurs CCD permet de présager d'ici 1 ou 2 ans des cellules capables de donner à ce type de mesure une précision suffisante pour faire l'objet d'une application industrielle.
Pour l'instant, un travail théorique est nécessaire afin de trouver des méthodes d'analyse rapides, fiables et extensibles permettant d'utiliser ce procédé sur une grande variété de pièces avec une vitesse suffisante et avec une intervention humaine réduite au minimum.
Bibliographie
[1]↑ | Calibration d'images et correction de distorsion - http://www.jautomatise.com/White/WPvisionCalibrationEtCorrection.html |
[2]↑ | Calibrage précis d'une caméra CCD ou d'un capteur de vision stéréoscopique - Rapport LAAS No01332 Colloque Photomécanique Poitiers (France) - Dorian GARCIA, Jean-José ORTEU, Michel DEVY - 2001 |
[3]↑ | Camera Calibration Toolbox for Matlab - Jean-Yves BOUGUET - http://www.vision.caltech.edu/bouguetj/calib_doc/ |
[4]↑ | Précis d'analyse d'images - M. COSTER, J-L. CHERMAN - 1989 - Presses du CNRS - 2 87682 020 X |
[5]↑ | A Computational Approach to Edge Detection - J. CANNY - 1986 - IEEE PAMI, Vol. 8, No. 6, pp. 679-698 |
[6]↑ | On the encoding of geometric configurations - H.FREEMAN - 1961 - IEEE Press p. 260-268 |
[7]↑ | A corner finding algorithm for chained-coded curves - H.FREEMAN , L.S.DAVID - 1977 - IEEE Trans. Computation Vol C24 p. 297-303 |
[8]↑ | Détection des points d'intérêts - UFRIMA - http://www.inrialpes.fr/movi/people/Boyer/Teaching/Maitrise/c10.pdf |
[9]↑ | Contribution de l'analyse multi-résolution à la description des contours et des textures. Thèse de 3 ième Cycle Université de Saint-Étienne - E. FAVIER - 1995 |